﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;
using System.Collections.ObjectModel;
using Douban.Modules.Conversation.Views;
using Douban.Api.User;
using Douban.Modules.Conversation.Models;

namespace Douban.Modules.Conversation.ViewModels
{
    public interface IConversationWorkSpaceViewModel
    {
        IConversationWorkSpaceView View { get; set; }
        UserDetail User { get; set; }
        UserDetail Contact { get; set; }
        string Title { get; }
        string Content { get; set; }
        ICommand SendMessageCommand { get; }
        Stack<MessageModel> DelayMessages { get; set; }
        ObservableCollection<MessageModel> Messages { get; set; }
        ICaptchaViewModel CaptchaViewModel { get; set; }
        ICommand ClearMessageCommand { get; }
        IChatLogViewModel ChatLogViewModel { get; set; }
        ICommand ShowOrCloseChatLogCommand { get; }
        event EventHandler ChangeConversationShellToShowOrCloseChatLog;
        void Run();
    }
}
